package com.example.haohao.myview.joker;


import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.TextView;

import com.example.haohao.myview.R;
import com.example.haohao.myview.joker.JokeApi;
import com.example.haohao.myview.joker.JokeBean;
import com.google.gson.Gson;
import com.jakewharton.retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;

import java.util.List;

import androidx.appcompat.app.AppCompatActivity;
import io.reactivex.Observable;
import io.reactivex.Observer;
import io.reactivex.Scheduler;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;

public class TestActivity extends AppCompatActivity {

    private TextView tv_msg;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_test);

        tv_msg = (TextView)findViewById(R.id.retrofit_tv_msg);


//        //步骤4：创建Retrofit对象
//        Retrofit retrofit = new Retrofit.Builder()
//                .baseUrl("https://api.apiopen.top/") // 设置 网络请求 Url
//                .addConverterFactory(GsonConverterFactory.create()) //设置使用Gson解析(记得加入依赖)
//                .addCallAdapterFactory(RxJava2CallAdapterFactory.create()) // 支持RxJava
//                .build();
//
//        // 步骤5：创建 网络请求接口 的实例
//        GetRequest_Interface request = retrofit.create(GetRequest_Interface.class);
//
//        Observable<Pic> observable = request.getCall("1");
//
//        observable.subscribeOn(Schedulers.io())
//                .observeOn(AndroidSchedulers.mainThread())
//                .subscribe(new Observer<Pic>() {
//                    @Override
//                    public void onSubscribe(Disposable d) {
//
//                    }
//
//                    @Override
//                    public void onNext(Pic value) {
//                        // 步骤8：对返回的数据进行处理
//
//                        Log.d("rxjava result","bcf");
//
//
//
//                        tv_msg.setText(value.getResult().get(0).getInfo());
//
//                    }
//
//                    @Override
//                    public void onError(Throwable e) {
//                        Log.d("rxjava error", "请求失败"+e.getMessage());
//                    }
//
//                    @Override
//                    public void onComplete() {
//                        Log.d("rxjava", "请求成功");
//                    }
//                });

        //步骤4：创建Retrofit对象
        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl("https://api.apiopen.top/") // 设置 网络请求 Url
                .addConverterFactory(GsonConverterFactory.create()) //设置使用Gson解析(记得加入依赖)
                .addCallAdapterFactory(RxJava2CallAdapterFactory.create()) // 支持RxJava
                .build();

        // 步骤5：创建 网络请求接口 的实例
        JokeApi request = retrofit.create(JokeApi.class);

//        Observable<JokeBean> observable =
                request.getCall("1","2","video")

//        observable
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Observer<JokeBean>() {
                    @Override
                    public void onSubscribe(Disposable d) {
                    }
                    @Override
                    public void onNext(JokeBean value) {
                        // 步骤8：对返回的数据进行处理
                        Log.d("rxjava result","bcf");

                        tv_msg.setText(value.getResult().get(0).getText());
                    }

                    @Override
                    public void onError(Throwable e) {
                        Log.d("rxjava error", "请求失败"+e.getMessage());
                    }
                    @Override
                    public void onComplete() {
                        Log.d("rxjava", "请求成功");
                    }
                });
        
    }
}
